package com.dtp.core.support.wrapper;

import com.alibaba.ttl.TtlRunnable;

/**
 * TTL任务包装类
 *
 * TransmittableThreadLocal(TTL)：在使用线程池等会池化复用线程的执行组件情况下，提供ThreadLocal值的传递功能，解决异步执行时上下文传递的问题。
 *
 * @author yanhom
 * @since 1.0.4
 *
 * @remark muse
 **/
public class TtlTaskWrapper implements TaskWrapper {

    private static final String NAME = "ttl"; // 任务包装器名称

    @Override
    public String name() {return NAME;}

    /** 包装Runnable，返回TtlRunnable实例对象 */
    @Override
    public Runnable wrap(Runnable runnable) {
        return TtlRunnable.get(runnable);
    }
}
